<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //希尔排序算法
        function shellSort(arr){//希尔排序

            var gaps=[5,3,1];//定义间隔区间

            for(var g=0;g<gaps.length;g++){//一个一个间隔值开始

                for(var i=gaps[g];i<arr.length;i++){//以间隔值遍历

                    var temp=arr[i];//选中元素

                    for(var j=i;j>=gaps[g]&&arr[j-gaps[g]]>temp;j-=gaps[g]){//如果前面一个大于后面一个

                        arr[j]=arr[j-gaps[g]];//后移

                        }

                        arr[j]=temp;//填补
                    }
            }
            
            return arr
        }

        //生成随机数组
		function random(){
			var arr = []
			for(var i = 0;i<20;i++){
				var num = parseInt(Math.random()*100+10)
				arr.push(num)
			}
			return arr
		}
		
		var arr = random()
        console.log(arr)
        console.log(shellSort(arr))
    </script>
</head>
<body>
</body>
</html>